package com.film.service;

import java.util.List;

import com.film.domain.FilmShowings;

/**
 * 电影场次
 * @author 姜海洋
 * @date 2021年6月19日 下午7:46:14
 */
public interface ShowingsService {

	/**
	 * 查询所有电影的排期
	 * @param showingsStatusCode 排期状态码
	 * @return
	 * 		返回所有电影的排期信息的List集合
	 */
	List<FilmShowings> selectAllShowings(int showingsStatusCode);
	
	/**
	 * 查询具体电影的排期信息
	 * @param filmId 电影id
	 * @param showingsStatusCode 排期状态码
	 * @return
	 * 		返回该电影的所有排期信息的List集合
	 */
	List<FilmShowings> selectShowingsByFilmId(int filmId,int showingsStatusCode);
	
	/**
	 * 根据电影的排期时间，查询该电影在那一天的排期信息
	 * @param date 日期
	 * @param filmId 电影id
	 * @param showingsStatusCode 排期状态码
	 * @return
	 * 		返回电影在某一天的排期情况
	 */
	List<FilmShowings> selectShowingsByDate(String date,int filmId,int showingsStatusCode);
	
	/**
	 * 查询某一部电影的排期日期
	 * @param filmId
	 * @param showingsStatusCode
	 * @return
	 */
	List<String> selectShowingsDateByFilm(int filmId,int showingsStatusCode);
	
	/**
	 * 根据排期id查询具体的一部电影排期信息
	 * @param showingsId 排期id
	 * @param showingsStatusCode 状态码
	 * @return
	 * 		返回该场次信息 
	 */
	FilmShowings seleShowingsById(int showingsId,int showingsStatusCode);
	
	
	/**
	 * 查询所有的电影厅信息49969920
	 * @param 
	 * @return
	 * 		返回所有的排期信息集合
	 */
	List<String> selectShowingsAll();
	
	
	
	/**
	 * 增加电影排期
	 * @param filmId 电影Id
	 * @param showingsDay 放映日期
	 * @param startTime 开始时间
	 * @param OfficeId 放映厅Id
	 * @param price 场次价格
	 * @return
	 * 		添加成功  return 1;
	 * 		时间冲突 return 0;
	 * 		场次安排时间早于电影上映时间 return -1;
	 */
	int addFilmShowings(int filmId,String showingsDay,String startTime,int OfficeId,Double price);
	
	
	/**
	 * 该方法用来做排期的删除
	 * @param showingsId 排期id
	 * @return
	 * 		删除成功  return 1;
	 */
	int deleteFilmShowings(int showingsId);
	
	/**
	 * @param pageNum 开始页码
	 * @return
	 */
	List<FilmShowings> limitShowings(int pageNum);
	
}
